6.计数器1000
从一个1000Hz的时钟信号中,衍生出一个1Hz的信号,称为OneHertz,该信号可用于驱动一组小时/分钟/秒计数器的使能信号,从而创建一个数字挂钟。由于我们希望时钟每秒计数一次,因此OneHertz信号必须在每一秒确切地保持一个时钟周期的高电平。使用模10(BCD)计数器和尽可能少的其他门电路来构建这个频率分频器。同时,输出你所使用的每个BCD计数器的使能信号(c_enable[0]代表最快的计数器,c_enable[2]代表最慢的计数器)。
以下是一个提供的BCD计数器模块。要使计数器运行,Enable信号必须为高电平。Reset是同步的,设置为高电平时会使计数器强制清零。你电路中的所有计数器都必须直接使用同一个1000Hz的时钟信号。
module bcdcount (
input clk,
input reset,
input enable,
output reg [3:0] Q
);
模块声明
module top_module (
input clk,
input reset,
output OneHertz,
output [2:0] c_enable
);